# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:张广勤
@Web site: https://www.tunan.wang
@Github:www.github.com
 
@File:yi_quanwen1_1.py
@Time:2024/8/13 17:52

@Motto:不积跬步无以至千里，不积小流无以成江海！
"""


def read_gua_file(filename, k64):
    # 初始化一个空字典来存储所有卦的信息
    all_guas = {}
    current_gua_info = []
    index = 0  # 用于跟踪k64列表中的索引

    with open(filename, 'r', encoding='utf-8') as file:
        for line in file:
            line = line.strip()
            if line.startswith('第') and index <= len(k64):
                # 如果这一行是一个新卦的开始，并且我们还没有超出k64的范围
                if current_gua_info:
                    # 如果不是第一个卦，则保存前一个卦的信息
                    all_guas[k64[index - 1]] = '\n'.join(current_gua_info)

                    # 初始化当前卦的信息列表，并准备从下一行开始读取内容
                # 注意：这里我们不需要从当前行中分割出卦名，因为我们直接使用k64中的键
                current_gua_info = [line.split(':', 1)[1].strip()]  # 存储卦的简要说明及后续内容

                # 索引递增，准备下一个卦
                index += 1
            elif line and index <= len(k64):
                # 如果行不为空且我们还没有超出k64的范围，则添加到当前卦的信息中
                current_gua_info.append(line)

                # 添加到最后一个卦的信息（如果文件正确结束且current_gua_info非空）
        if current_gua_info and index <= len(k64):
            all_guas[k64[index - 1]] = '\n'.join(current_gua_info)

    return all_guas


k64 = [
    '乾', '坤', '屯', '蒙', '需', '讼', '师', '比', '小畜', '履', '泰', '否',
    '同人', '大有', '谦', '豫', '随', '蛊', '临', '观', '噬嗑', '贲', '剥',
    '复', '无妄', '大畜', '颐', '大过', '坎', '离', '咸', '恒', '遁', '大壮',
    '晋', '明夷', '家人', '睽', '蹇', '解', '损', '益', '夬', '姤', '萃',
    '升', '困', '井', '革', '鼎', '震', '艮', '渐', '归妹', '丰', '旅', '巽', '兑',
    '涣', '节', '中孚', '小过', '既济', '未济'
]

# 使用函数并打印结果
filename = 'yi/yi_quanwen.txt'
all_guas = read_gua_file(filename, k64)
print(all_guas)

# 如果你想要检查或打印替换后的具体内容
for gua_name, gua_info in all_guas.items():
    print(f"{gua_name}:\n{gua_info}\n")